package repositorios;

import java.util.ArrayList;
import java.util.List;

import dados.Cliente;
import dados.Funcionario;
import dados.Pessoa;

public class RepositorioPessoasLista implements InterfaceRepositorioPessoa {

	private List<Pessoa> pessoa;

	public RepositorioPessoasLista() {
		this.pessoa = new ArrayList<Pessoa>();
	}

	@Override
	public void inserir(Pessoa p) {
		if (p instanceof Funcionario) {
			pessoa.add(p);
		}

		if (p instanceof Cliente) {
			pessoa.add(p);
		}
	}

	@Override
	public void remover(Pessoa p) {
		if (verificar(p) == true) {
			pessoa.remove(p);
		}
	}

	@Override
	public Pessoa procurar(String CPF) {
		Pessoa p = null;
		for (Pessoa pessoa2 : pessoa) {
			if (pessoa2.getCPF().equals(CPF)) {
				p = pessoa2;
			}
		}
		return p;
	}

	@Override
	public void atualizar(Pessoa p) {
		Pessoa p2 = procurar(p.getCPF());
		if (p2 instanceof Funcionario) {
			((Funcionario) p2).setSalario(((Funcionario) p2).getSalario());
			((Funcionario) p2).setComissao(((Funcionario) p2).getComissao());
		}
		if (p2 instanceof Cliente) {
			((Cliente) p2).setTelefone(((Cliente) p2).getTelefone());
		}
	}

	public boolean verificar(Pessoa p) {
		for (Pessoa pessoa2 : pessoa) {
			if(pessoa2.getCPF().equals(p.getCPF())){
				return true;
			}
		}
		return false;

	}
}